Version 2.41b

**** PRINT OUT THIS PAGE ****

END-USER LICENSE AGREEMENT

SOFTWARE PRODUCT LICENSE

WEBTEACHER SOFTWARE, LLC, a California Limited Liability Company owns the copyright and intellectual property and documentation for its Webdata software program (hereafter collectively referred to as "Software"). The Software is protected by United States copyright and intellectual property laws and international copyright and intellectual property treaties, as well as other international property laws and treaties. The Software is licensed, not sold. This legal document is an agreement between you, the end user and WEBTEACHER SOFTWARE.

By answering "y" or "yes" to the first question on the command line installer, or by checking the first checkbox on the web-based remote installer, you acknowledge you have read, understand, and are agreeing to become bound by the terms of this agreement, which includes the software license, limited warranty and exclusion of liability.

If you do not agree to the terms of this agreement, promptly dispose of all downloaded materials, disks, documentation, and packaging materials.
 
 

Provided you have answered "y" or "yes" as required above, WEBTEACHER SOFTWARE grants you a nonexclusive license to use the Software provided under the following terms and conditions:

1. LICENSE GRANT.

a. Software Product. WEBTEACHER SOFTWARE grants you as an individual, a personal, nonexclusive license to install the Software on an unlimited number of computers provided you are the only individual using the software product. (For example, you can install the Software on a desktop computer at your place of business,on a web server of which you are the owner and administrator, and on a computer in your home. However, only you may use the Software installed on each of these three computers.) You may not grant others the right to use your license. You may install more than one copy of the software on a single web server, provided all copies support the same site. A site is defined as a unified collection of web pages which pertain to a single person, company, organization, topic, or project. Web professionals may not extend the license to more than one client per license. (For example, you may install 3 databases under a single license to list your products, phone numbers, and events. You may not install databases for others without paying additional registration fees).

If you are an entity, WEBTEACHER SOFTWARE grants you the right to designate one individual within the organization to have the right to use the Software in the manner described above. WEBTEACHER SOFTWARE recognizes that there are certain circumstances in which it would be commercially impractical to install the Software on a computer and permit multiple individuals to use it (e.g., install the Software on a computer in a law library or in a training facility and permit multiple individuals to use the Software over time). Using the Software in this manner is in violation of this license agreement. If you wish to use the software in this manner, please contact WEBTEACHER SOFTWARE at (510) 790-6451 to discuss. Depending on the circumstances, WEBTEACHER SOFTWARE, at its sole discretion, may provide you with a rider permitting this alternative use.

b. Software Transfer. You may permanently transfer all of your rights under this Agreement, provided you comply with the following conditions: (i) you retain no copies or prior versions, (ii) you transfer all of the Software including the media and printed materials, and (iii) the recipient agrees to the terms of this Agreement.

c. Electronic Documents. Solely with respect to the electronic documents included with the Software (e.g., the electronic version of the user guide), you may make an unlimited number of copies (either in hard copy or electronic form), provided that such copies shall be used only for internal purposes and are not republished or distributed to any third party.

2. COPYRIGHT.

WEBTEACHER SOFTWARE holds exclusive ownership of the Software and all intellectual property rights embodied therein, including copyrights and valuable trade secrets incorporated in the Software's design and coding methodology. The Software is protected by United States copyright laws and international treaty provisions. This Agreement provides you with only a limited use license, and does not grant you any intellectual property rights in the Software.

3. REVERSE ENGINEERING. You agree that you will not attempt to: (i) modify, revise, alter, copy, duplicate, replicate, sell, transfer, destroy or translate all or any portion of the Software; (ii) decompile, or disassemble all or any part of the Software, (iii) create derivative works based on all or any part of the Software; (iv) merge all or any part of the Software with another product; or (v) remove, tamper with or obscure any proprietary rights, notices, or labels on all or any part of the Software.

4. LIMITED WARRANTY; LIMITATION OF LIABILITY. IF YOU PURCHASED THE PRODUCT, WEBTEACHER SOFTWARE WARRANTS TO YOU THAT THE SOFTWARE SHALL PERFORM SUBSTANTIALLY IN ACCORDANCE WITH ACCOMPANYING DOCUMENTATION UNDER NORMAL USE FOR A PERIOD OF NINETY (90) DAYS FROM THE PURCHASE DATE; OTHERWISE, IF YOU RECEIVED THE PRODUCT FREE OF CHARGE FOR THE PURPOSE OF EVALUATING IT, WEBTEACHER SOFTWARE DOES NOT PROVIDE YOU WITH A WARRANTY OF ANY KIND, AND YOU ACCEPT THE PRODUCT "AS IS."

THE ENTIRE AND EXCLUSIVE LIABILITY AND REMEDY FOR BREACH OF THIS LIMITED WARRANTY SHALL BE, AT WEBTEACHER SOFTWARE'S OPTION, EITHER (I) RETURN OF THE PURCHASE PRICE OF THE SOFTWARE, IF THE PRODUCT WAS PURCHASED, OR (II) REPLACEMENT OF DEFECTIVE SOFTWARE AND/OR DOCUMENTATION PROVIDED THE SOFTWARE AND/OR DOCUMENTATION IS RETURNED TO WEBTEACHER SOFTWARE WITH PROOF OF PURCHASE. WEBTEACHER SOFTWARE AND ITS SUPPLIERS SPECIFICALLY DISCLAIM THE IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

THERE IS NO WARRANTY OR GUARANTEE THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED, ERROR-FREE, OR VIRUS-FREE, OR THAT THE SOFTWARE WILL MEET ANY PARTICULAR CRITERIA OF PERFORMANCE OR QUALITY EXCEPT AS EXPRESSLY PROVIDED IN THE LIMITED WARRANTY. NO ACTION FOR THE ABOVE LIMITED WARRANTY MAY BE COMMENCED AFTER ONE (1) YEAR FOLLOWING THE EXPIRATION DATE OF THE WARRANTY. IF IMPLIED WARRANTIES MAY NOT BE DISCLAIMED UNDER APPLICABLE LAW, THEN ANY IMPLIED WARRANTIES ARE LIMITED IN DURATION TO NINETY (90) DAYS FROM THE PURCHASE DATE.

Note: Some states do not allow limitations on how long an implied warranty may last, so the above limitations may not apply to you. this warranty gives you specific rights, and you may have other rights which vary from state to state. 5. LIMITATION ON DAMAGES. INDEPENDENT OF THE FOREGOING PROVISIONS, IN NO EVENT AND UNDER NO LEGAL THEORY, INCLUDING WITHOUT LIMITATION, TORT, CONTRACT, OR STRICT PRODUCTS LIABILITY, SHALL WEBTEACHER SOFTWARE OR ANY OF ITS SUPPLIERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, EMOTIONAL DISTRESS, EXPENSES, COSTS, LOST PROFITS, LOST SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, COMPUTER MALFUNCTION, OR OTHER DAMAGES ARISING OUT OF THE USE OF OR INABILITY TO USE THE PROGRAM. EVEN IF WEBTEACHER SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. UNDER LOCAL LAW, CERTAIN LIMITATIONS MAY NOT APPLY, AND YOU MAY HAVE ADDITIONAL RIGHTS WHICH VARY FROM STATE TO STATE.

IN NO EVENT SHALL WEBTEACHER SOFTWARE'S LIABILITY FOR DAMAGES FOR ANY CAUSE WHATSOEVER, AND REGARDLESS OF THE FORM OF ACTION, EXCEED THE AMOUNT OF THE PURCHASE PRICE PAID FOR THE SOFTWARE.
 
 

6. WARRANTY DISCLAIMER

(a) EXCEPT AS EXPRESSLY SET FORTH ABOVE, NO OTHER WARRANTIES ARE MADE WITH RESPECT TO THE PROGRAM. WEBTEACHER SOFTWARE EXPRESSLY DISCLAIMS ALL WARRANTIES NOT STATED HEREIN.

(b) WEBTEACHER SOFTWARE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE OPERATION OF THE PROGRAM SHALL BE UNINTERRUPTED OR ERROR-FREE.

(c) LICENSEE ASSUMES RESPONSIBILITY FOR THE SELECTION OF THE PROGRAM TO ACHIEVE THE RESULTS INTENDED BY LICENSEE AND FOR THE INSTALLATION, USE, AND RESULTS OBTAINED FROM THE USE OF THE PROGRAM.

7. MISCELLANEOUS. (a) This agreement shall be interpreted according to the laws of the state of California and is binding on the parties hereto, their heirs, successors, and assigns. (b) If either party breaches this agreement and a lawsuit is brought thereon, the prevailing party shall receive as additional damages reasonable attorney's fees and costs. (c) The paragraph headings are for convenience only and do not limit, modify or interpret this agreement. (d) In this agreement when the text so indicates, the singular shall include the plural and vice-versa and the masculine, feminine and neuter genders shall also include the other genders. (e) If any provision of this agreement is found illegal, unenforceable or invalid, the remaining provisions shall nevertheless be carried into full force and effect. (f) This agreement represents the entire understanding of the parties; there are no other warranties or representations, whether written or oral, affecting this agreement. (g) This agreement cannot be modified, altered or changed in whole or in part unless by a writing signed by the affected parties. (h) Jurisdiction and venue for any legal dispute involving this Agreement shall be Oakland, California.

8. UNITED STATES GOVERNMENT USE. WEBTEACHER SOFTWARE represents that the Software and its documentation were developed at private expense and no part of same is in the public domain. The Software is Commercial Computer Software provided with RESTRICTED RIGHTS under the Federal Acquisition Regulations and agency supplements to them. Use, duplication, or disclosure by the U.S. Government is subject to the restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at DFAR 52.227-19, as applicable. Manufacturer is WEBTEACHER SOFTWARE, 39947 San Simeon Court. Fremont, California 94539.

9. Fraudulent or Unfulfilled Promise of Payment. WEBTEACHER SOFTWARE retains the right to remotely disable the Software, without further notice to you, in the event that false, misleading, deceptive or fraudulent information is presented at the time of payment, or if a stolen bank card or credit card issused, or if payment is not received in accordance with the terms and conditions of a promissory note or Purchase Order. You expressly consent to this remedy and expressly waive, relinquish and discharge any claims, losses or damages that might arise from such an exercise of rights.

10. LICENSEE ACKNOWLEDGES THAT HE OR SHE HAS READ THIS AGREEMENT, UNDERSTANDS IT,AND AGREES TO BE BOUND BY ITS TERMS AND CONDITIONS. LICENSEE FURTHER AGREES THAT IT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT BETWEEN LICENSEE AND WEBTEACHER SOFTWARE AND THAT IT SUPERSEDES ANY PRIOR AGREEMENT, ORAL OR WRITTEN, AND ANY OTHER COMMUNICATION BETWEEN LICENSEE AND WEBTEACHER SOFTWARE RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.

Should you have any questions concerning this License Agreement or Limited Warranty, or if you desire to contact WEBTEACHER SOFTWARE for any reason, please submit all correspondence in writing to WEBTEACHER SOFTWARE 39947 San Simeon Court. Fremont, California 94539., or by e-mail through our Web site at www.webteacher.com.

WEBTEACHER SOFTWARE, the WEBTEACHER SOFTWARE logo, and Webteacher's Webdata are trademarks of WEBTEACHER SOFTWARE.

Copyright © 1999, WEBTEACHER SOFTWARE, LLC, a California Limited Liability Company Printed in the U.S.A.

New Modifications

Modifications in 2.41
Added "Replace Fields with values contained in first line?" option on import screen.
Added "Create members and passwords?" option on import screen (automatically create accounts from imported data)
Added "Replace Values" feature to admin search results.
Added $if() command to templates for conditional results.

Modifications in 2.4
2.4f - fixed date searching bug
2.4e - added pipe delimited import/export
versions 2.4a,b,c,d were all minor bug fixes.
Added sorting links to table headers
Very large databases now display condensed list of page number links
Improved searching mechanism, faster and with less memory
Integrates with the wtcart.pm (ePOWERcart) module for shopping cart.
Modifications in 2.36
Added sort by date created
Added searchlog
forced chdir to current directory
accepts "text", text*, *text, *text*.
admin can search on a specific member
alert after modify.
cgifunction=recordcount returns the number of records in database.
added "log out" feature
version appears on admin page
Dutch translation
Portuguese translation
Modifications in 2.35
2.35f - no longer possible to accidently enter remote registered filename in a registered db.
2.35e - admin modify mail includes date created
2.35d - admin gets mail on modify as well as add
2.35 a,b,c - minor bug fixes
Admin can define a template for the member's maintenance page
Modifications in 2.34
Search criteria can be displayed at top of results
2.34a-e - Bug fix, $escape did not work in form if "do not replace" was selected
Modifications in 2.33
(ver a,b,c,d are just bug fixes)
Search and Add forms now submit with Enter key in IE unless both options are enabled.
.csv files now import with quoted text strings
Improved Spanish translation
Ability to restrict members to a single record.
Ability to restrict member searches to only their own records.
Ability to disable file locking for servers that cannot create a writable directory.
$datecreated will display the date a record was created in a template.
$escape[#] will display data in hex-encoded form for linking to other cgi scripts.
Option for admin to overwrite entire database while importing.
Restored ability to import from a file on your server if uploading via CGI.pm module is not available.
Improved error message with helpful info if CGI.pm is missing.
Installer now creates a menu page as index.html.
$cgilocation is now derived so renaming the file is easier.
Improved admin, member, instantmember authentication.
Modifications in 2.32c
Restored server path as import option so now admin has a choice of FTP or Browser upload.
Modifications in 2.32b
Fixed another bug with instantmember routine
Added option to replace all records during import
Modifications in 2.32a
Fixed bug with instantmember routine
Modifications in 2.32
Uploads can now be performed in the maintenance screen.
Import increases ID by .0001 instead of .000001 to fix duplicate record ID bug.
Insert and Delete fields now modifies field sequences and template numbers on preferences page.
Admin can choose whether to let the template substitute links and images or do it manually in templates.
Modifications in 2.31g
Only txt, crv, and prn files may be uploaded with the import subroutine.
Modifications in 2.31f
fixed bug which chopped last character from field parameters in member add
Modifications in 2.31e
Added ability to use specific field criteria from URL or custom form in when "single text box" is selected.
Fixed bug which kept $id from appearing in form template.
Modifications in 2.31d
fixed bug which kept required fields checkboxes from workin in IE
Modifications in 2.31c
The installer looks for cgi-bin directory in every directory in current path.
Modifications in 2.31b
more special characters such as / and () now work in searches without escapes.
Modifications in 2.31a
Fixed a bug that occurred when multiple files were uploaded in the same record.
Modifications in 2.31
Admin can now define required fields.
Blank records cannot be submitted.
File lock is placed in uploads directory during add, modify, and delete subroutines so 2 simultanious requests will not damage the file.
Modifications in 2.3
Admin and Members can search records by date created.  Date created appears in admin and member search results.
File Uploading for adding pictures or files to records.
File Uploading for importing data.
Admin and member queries can be exported to browser as delimited text file.
Admin and members can delete multiple files from search results table with a 'delete' checkbox.
User search and add interface now can appear in English, French, German, Spanish, or Italian.
Admin can define page color, background, text color, link color, and visited link color.
Submit buttons and links at top and bottom of customize screen for easier navigation.
Can user Add? Can user Search? These questions used to be asked by the installer, now they are checkboxes on preferences screen.
Option to use a single search box for the entire record, similar to a search engine's itnterface.
URL for "Return to Homepage" can be customized from Preferences Page.
A custom Members page can be created by choosing SAVE-AS on the default members page, and entering the URL in a box provided.
Option to let members Add to the Database and/or Search the entire database.
Templates no longer use intelligent HTML.  URLs still convert automatically to links in the table,
    but authors of a template may wish to use more sophisticated HTML, and the automatic conversion
    was getting in the way.
Modifications in 2.28c
A bug has been fixed which caused the searchpage filename not to repopulate the input box on the 'customize pages' screen.
There is now a checkbox to hide the border on the search results table
There is now a box to enter font size, face, and color information for the default table.
Modifications in 2.28b
A bug has been fixed which caused the footer not to work with tables.
Modifications in 2.28a
The import routine now allows the administrator to assign a member as the owner of the the imported data.
The name or URL of a custom search page can now be entered on the customization page.
Administrators can now specify the title row color and 2 alternating row colors for the default search results table.
Administrators can now define a footer for the search results page.
The Administration search screen may now be limited to only the columns selected for the user search screen.
Sorting by 2 fields is now available.
There is a checkbox to use European dates dd/mm/yy instead of US mm/dd/yy
It is now possible to allow visitors to create 'instant memberships' in which they assign themselves a username and password, and proceed to add records which they can later modify. A checkbox enables or disables this routine.
Administrators can now specify which fields appear on the initial search form
Modifications in 2.28
There is now a box on the 'customize pages' screen for the label of the 'view' button (shows current record in form view).
There is now a box on the 'customize pages' screen to create your own template for the search results.
There is now a box on the 'customize pages' screen to create your own template for the form view, displayed when users click the 'view' button.
Modifications in 2.27e
To allow multiple databases on a site, if the installer detects another database in the local directory, it will copy the registration info from the other database.
Modifications in 2.27d
A bug has been fixed which prevented the view button from working on IE4 for Macintosh
Modifications in 2.27c
A Perl 5 function was removed to allow Webdata to run under Perl 4 again
A bug has been fixed which prevented the 'Return to Administration Page' link from working when no records were found.
Modifications in 2.27b
The cuseom search header was stripping any lines after a carraige return. This has been fixed.
Modifications in 2.27a
An upgrade program has been included with this version. It only works with version 2.26. To use, upload webdata.cgi and upgrade.pl to the server. Telnet in and type:
perl upgrade.pl webdata_[dbname].cgi
A bug has been fixed which sometimes caused problems when members logged in.
Users and administrators can go to any results page with numbered links at the bottom of large search results.
Custom search pages that use the "multiple selections" option on select lists will be received by the search engine as "first item or second item".
Searches that return no results now display "No records found" instead of a blank table.
Administrators can now add custom HTML to the default search form.
Administrators can now choose whether to display the search instructions on the default search form.
Modifications in 2.26
A bug has been fixed which caused the boolean searches to fail sometimes.
A different sorting algorythm has been implemented to speed up the sort process.
The Admin and Member search results now show only 20 results at a time.
Modifications in 2.25
A bug has been fixed which sometimes caused the member ID to be offset by one field.
Fields containing *.gif or *.jpg are automatically converted to <IMG SRC="*.gif"> in user search results
Checkboxes now store the word "yes" instead of the Netscape default of "on".
Redefine field button now retains old values in prompt boxes.
The installer now creates a unique ID for registration purposes.
Modifications in 2.24
A bug was fixed which caused links and URLs not to show on some servers.
A bug was fixed which caused images and other HTML with quotes not to work in the VIEW page.
Modifications in 2.23
A bug was fixed which caused add and search errors in fields who's name contained special characters.
Modifications in 2.22
A bug was fixed which caused some member entries to lose the last field.
Modifications in 2.21
A bug has been fixed which was causing errors in date searches.
The program now recognizes xx/xx/xx?? as a date, and automatically converts both field values and search criteria to 4 digit years (year 2k for years less than 20).
The "and" and "or" criteria now work in the admin searches.
A "view" button may now be displayed on each record to display the record in a columnar form page.
  Choose whether or not to use this feature on the "Customize Report" page.

Modifications in 2.2
Fields now can be defined as text, checkbox, or selection list.
JavaScript has beed added to the modify fields page to assist in creation of new fields.
e-mail (*@*.*) and URLs (http://*) are automatically converted to links.
 Modifications in 2.1
Administrators can now change the color, header text, field sequence, and sort order of user search results table.
A Customize Reports button has been added to the Administration page.
The reports page has a box for an HTML color or Hex Triplet (#RRGGBB)
The reports page has a large textarea for header code. This can contain HTML tags including links and images.
Admins can click the available fields to choose the sequence of columns in the report table. This also allows
users to omit fields which they would like to leave hidden.
Admins can select the field by which they would like to sort.
Customized User Search pages are no longer restricted by sequence, they are driven by fieldname.
Default input boxes have been expanded to 60 characters.
A 'Delete Found Set' button has beed added to the Administration Search Results, allowing the administrator to delete multiple records.
Modifications in 2.0
A bug has been fixed which prevented MSIE4 users from adding records.
The installer now asks whether visitors should be allowed to add records.
The installer now asks whether visitors should be allowed to search for records.
A bug has been fixed which caused user searches to sometimes be added.
The default line in the data file is now visible so that it can be deleted once data is added
The Admin can now create 'member' accounts in which members can enter a unique password and add, modify, or delete only their own records.
The readme now includes instructions for remote installation without telnet access.
 
 

QUICK INSTALLATION INSTRUCTIONS

(for webmasters that have installed cgi scripts before)

If you have telnet access, simply upload "webdata.cgi" and "install.pl" in ASCII mode to a new directory
under your homepage (a browsable directory, not cgi-bin).  Then telnet to that directory,
and type:  perl install.pl

If you do not have telnet access, use your FTP program to create a directory under your homepage named "uploads" and
give the uploads directory 777 permissions (everyone can read and write).  Then, browse to
http://www.abcdatabase.com/webdata/download and complete the form.  The program named "probe.pl" can be placed in your cgi-bin to give you
path information if you need it.  Unzip the resulting file and follow the instructions in the new readme.html file.
 

DETAILED INSTALLATION INSTRUCTIONS


DIRECTIONS FOR INSTALLATION WITH TELNET (recommended)
If you do not have telnet access, answer the questions in part 2 below, then go to MANUAL INSTALLATION to use our FTP installer.

Part 1.
Create a directory under your homepage directory
called webdata.  Upload the 2 files,
    install.pl
    webdata.cgi
into the webdata directory.
IMPORTANT: Be sure your FTP program is set to ASCII mode.

Part 2.

Before you run the installer program, you will need to complete this worksheet.  It will be easiest
to write on a printout of this page before running the installer. There is an explanation of each question below the form.

The installer will prompt you for this information.  If you are unsure about any of this, you should contact your
system administrator.

If you think that your home directory is located at "/", you are probably using a virtual host.  To see the true paths
on your server, upload "probe.pl" to your cgi-bin, and browse to it.  Print out the results, and remove it (we don't
want the world to see our server paths).  If you get a server error, remove the first line and try again.  Be sure to upload
in ASCII mode, set the permissions to 755 (read,write,execute) if necessary.
 
 

[W]1.  Choose a short name for this database.


2.  CGI scripts are stored:
                   ___ 1.  only in the cgi-bin directory
                   ___ 2.  in any directory, so long as the filename ends with .cgi

[W]3.  If you answered 1 above or you are running a Windows Server, what is the path to the cgi-bin?  (TELNET users, the script will detect the cgi-bin for you).


4.  What is the path to Perl 5? (TELNET users, the script will detect Perl5 for you). (FTP users, the probe.pl script will detect Perl5 for you).


[W]5.  What would you like your password to be?


[W]6.  The ABSOLUTE PATH to the current directory is (path to webdata directory on your server) ?
(TELNET users, the script will detect this) (FTP users, this is where probe.pl is very helpful)

What is the URL to the current directory?
(start with http://)

[W]7. The log files contain all of your data, fields, members, and preferences.
For security reasons, we recommend you store these files either in the cgi-bin, or in a directory which is outside the
viewable web pages.  A typical directory structure might look like this:

                |-----------|
                | top level |
                |___________|
                  /       \
                 /         \
    |----------------|   |---------------|
    | all .html pages|   |    logfiles   |
    | and other web  |   | (not viewable |
    | related stuff  |   |  via the web) |
    |________________|   |_______________|

Your current directory path is (path)
Enter the path to the directory you would like to use for the log files.
If the directory you enter does not exist, the installer will try to create it.
Press [ENTER] to use the current directory.
(TELNET users, if you chose to use a cgi-bin, this question is skipped and log files are placed in the cgi-bin).


[W]8.  What fields would you like in your database.  For example, FirstName, LastName, Address, City, State, Zip for a mailing list;
      or for a Car Lot, you may enter VIN, make, model, year, color, doors, condition, ammenities, price

    It is simple to add or remove field names after you have entered them in, you just need a few to get started.  Keep the names short and simple.
 
 
FIELDS ________________________
________________________
________________________
________________________
________________________
________________________
________________________
________________________
________________________
________________________
________________________
________________________ 


 

Part 3.

When you have completed this worksheet,

[If you do not have access to execute programs on the server, See the instructions for manual installation --GO THERE]

Get to a command prompt in the Webdata directory and type
    perl install.pl
Answer the questions using this worksheet.

When you are done, you can point your browser
to webdata/[dbname]_admin.html  to begin adding records.  Where [dbname] is the name you chose in question #1.  You may wish to bookmark that page.
Create a link on your homepage to webdata/[dbname]_form.html
for your guests.  This page allows readers to search (and add to if you selected it) the database, but not modify it.
If you will allow members to modify their own records, members can log in at webdata/[dbname]_members.html
You can also choose to allow new visitors to create their own memberships at webdata/[dbname]_instantmember.html and then add records to the database.  Instant members can log in later at webdata/[dbname]_members.htmlto modify or delete only their own listings.
 

You must have Perl installed on your server to run Webdata or the installer.  You can
download Perl for free from this site.
http://www.ActiveState.com/software/Perl_for_Win32.htm
NOTE: The IIS webserver takes some configuration to execute Perl CGI scripts.  INSTRUCTIONS
 

Double click on the winstall.pl icon.  A DOS window should appear with some text.
If you have difficulty, be sure the ".pl" extension is associated with Perl.  You can also
launch the winstall.pl program by opening a DOS prompt, cd to the webdata directory,
and type 'perl winstall.pl'  .

Answer the questions using this worksheet.

*****************************************************************************************************

DETAILS ABOUT THE INSTALLATION QUESTIONS

1. Choose a short name for the database

The name you choose will be used in each of the files used by your database.  This will allow you to install more than 1 database on your website.  If you choose 'cars', for example, the user form will initially be named 'cars_form.htm'.  The administration page will be named 'cars_admin.htm'.  The data is stored in a hidden file called '.cars_data.log' and the fieldnames are kept in another hidden file called '.cars_fields.log'.  The program copied into the cgi-bin will be named 'webdata_cars.cgi'.

You may change the names of the 2 .htm pages if you wish, but not the log files or the cgi.

2. Do CGI scripts have to go in the cgi-bin directory?

If you have never installed a cgi script, I highly suggest e-mailing your system administrator with questions 2,3,&4.

In some cases, you will be required to use a special directory which is not named cgi-binIf you have been designated a special directory other than cgi-bin for your cgi scripts, here is what you should do.
 

The only way to answer this question without the help of your system adminsitrator is to try running a simple CGI, and see if it works. Follow these steps:

3. Locating the /cgi-bin/ directory

You may not have a cgi-bin, you may have a directory with a different name for executing cgi scripts.  It is best to check with your system administraor.
From a command prompt, type this command:
 find / -name cgi-bin -print |& grep -v denied

[W]Windows users - you know where your file search tools are.

This may take over 10 (or even 20) minutes to run, it is searching the entire server. The pipe character | is a vertical line, usually located on the right side of the keyboard above the [ENTER] key. It may appear as 2 lines above each other.  It is frequently  [SHIFT]+Backslash[\].

4. Locating the Perl 5 program

The first line of every Perl program gives the location of Perl on the system.  This is so a command from an outside web page will instantly know what program to execute, and where to look for it.

The installer will automatically detect Perl 5 if it is in any of the default locations.  If it finds it, it will notify you that it found Perl 5, and skip to the next question.

From the command prompt, type  which perl and press [ENTER].

Hopefully, the system returned a line similar to this:

/usr/bin/perl
or
/usr/local/bin/perl

Write down the result.  This is the location of Perl on your system, and you will need it.

If the system did not return a result, try this:
 

If you still do not have the path to Perl, you will need to e-mail your system administrator.
 

5. What would you like your password to be?

[W] read this...
I'm trying to think of anything to put here, really. The question is very straightforward.

6.  The ABSOLUTE PATH to the current directory is (path to webdata directory on your server)
What is the URL to the current directory? (start with http://)
[W] read this...

In other words, what would you type into the location box of a web browser to see this directory?

For example, if I had a domain named "myserver.com" and all of my web pages were under the /user/myname/htdocs directory:
The installer would probably tell me that the absolute path to the current directory is /user/myname/htdocs/webdata
and I would type:  http://www.myserver.com/webdata into the  installer at this time.

NOTE: If you do not have telnet access and you will be using the FTP installation web page, you will need to create a folder in the same directory as the webdata html pages named uploads.  Enter the absolute path (begins with a slash or drive letter) to the uploads directory in box 6a, enter the URL (begins with http://) to the uploads directory in box 6b.

7. The log files contain all of your data, fields, members, and preferences.
For security reasons, we recommend you store these files in a directory which is outside the
viewable web pages.  A typical directory structure might look like this:

                |-----------|
                | top level |
                |___________|
                  /       \
                 /         \
    |----------------|   |---------------|
    | all .html pages|   |    logfiles   |
    | and other web  |   | (not viewable |
    | related stuff  |   |  via the web) |
    |________________|   |_______________|

Your current directory path is (path)
Enter the path to the directory you would like to use for the log files.
If the directory you enter does not exist, the installer will try to create it.
Press [ENTER] to use the current directory.

[W] read this...

Using the example in question 6, if all of my web pages were under the /user/myname/htdocs directory, I might choose to enter:
/user/myname/webdata_logs into the installer at this time.  The installer will create a directory named webdata_logs at that location if I (the person that executed the program) have permission to do so.  The advantage to this configuration is the webdata program will be able to read and write to the log files, but the log files will not be accessable via the web directly.

If you do not have telnet access, obviously the installer cannot create this directory for you.  Create the directory using your FTP program, then enter the absolute path (begins with a slash or a drive letter) into the box on the FTP installation web page.
 

8. What field names would you like in your database?

[W] read this...
You will want to plan your field list carefully before installing.  Talk to as many people as you can.  Find out what kinds of things people will want from the database.  You do not need to create a primary key.  The program secretly indexes each record with a unique number.


MANUAL INSTALLATION

If you do not have telnet access, you can still install webdata. Fill in the form at
http://www.abcdatabase.com/webdata/download?WT
This page will generate a zip file of your script, html files, and log files. Then all you will have to do is upload the files to your server. On Unix servers, you will need to know how to set permissions (chmod) with your FTP program.

If you are uncertain about the paths on your server, you can launch Webteacher's probe. Simply open "probe.pl" in any text editor, set the path to Perl on 1 line to the correct value, upload probe.pl to the cgi-bin (be sure you are in ascii mode), and chmod 755 probe.pl so that it has permission to execute. Then, point your browser to /cgi-bin/probe.pl and it will tell you everything about your server and the path to your site.

You will not need to edit the webdata_[dbname].pl script unless you have difficulty with the automatic installer.  In that case, the following diagram shows a sample installation.


Customizing Webdata

There are 2 pages that the general public will see, the user search page, and the search results.

 To Customize the User Search page
The page you will link users to is called [database name]_form.html.  It will automatically query the Webdata CGI to read your list of fieldnames, and generate a search form "on-the-fly."  The advantage to this method is that if you should change your list of fields, the user search form will automatically reflect those changes.  The disadvantage is that it creates a rather plain beige screen, without your site's text and graphics.  You can save this page and modify it to match the look and feel of your site.

  1. Point your browser to [dbname]_form.html

  2. The program should create a user search form.
  3. Choose SAVE AS from the FILE menu, and choose a name and location for the custom form. For example, you may call it "search.html"
  4. Open the custom form you just saved in any text editor and make changes.  You may add titles, images, and text anywhere you wish.  There are just a few rules you need to keep in mind:
  5. Upload the page to your server and enter the URL of your new search page into the box labeled "If you would like to use a customized search page" on the "Customize Pages" screen.


To customize Search Results
Go to the [dbname]_admin.html page, enter your password. When the administration page loads, click on 'Customize Pages'. Here you can change the color, add header HTML code, select which fields to display in what column sequence, choose a sort order, number of results per page, and whether to display the "view" button and what it should be labeled.
With version 2.28, Webteacher's Webdata is 100% customizable to match the look and feel of your site.  See "Using Templates" further down.
When you have made your selection, click 'Modify Report' and wait for the page to reload. Then follow the link to the user's search page to see your modifications.

The "view" button is a good tool for databases that have a lot of fields.  If you cannot display all of the information in a single row of the results table, simply choose only the 3 or 4 most descriptive fields in the "column-sequence" box.  Then, check the "view button" checkbox.  When a user searches your database, he/she will see a concise list of search results, each with a "view" button.  Clicking on the "view" button will display all the information about that record.


Instructions for general use

Webdata has been designed to be extremely self-explanatory.  Most user instructions are included on the ADD and SEARCH web pages themselves.  You may wish to refer to the download page, which is loaded with screenshots and basic instructions for using Webdata.
 

Creating lists, comment boxes, checkboxes, text boxes, and upload fields.

 You can define your fields as lists, comment boxes or checkboxes, upload fields, or define the size of text boxes.  Simply click on 'Modify Fields' on the Admin page.  Then, select the field you want to change, and click 'REDEFINE SELECTED FIELD'.  Enter the Name of the field (change it or keep it the same, it doesn't matter), and click OK.  Then enter the word list, comment, checkbox, or text, and click OK. Finally, for lists, you will be prompted to enter the list values in a comma seperated format.  For text boxes, you will be prompted to enter the size. For comment boxes, you will be prompted to enter how many rows you would like (column width is 60 characters).

Uploading images and other files
If you would like to be able to upload images or other types of files from your web browser into the database, simply define a field to hold the image (or other file).  When you are defining your new field, choose "upload" as the field type.  You will also be prompted to enter the maximum number of KB for each image (so someone can't upload a 4GB file) and you can enter the allowable extensions.  If you only want images uploaded, leave the default "gif,jpg" in this box.  To allow text and word documents and html files, you might enter "doc,txt,htm,html".  Since many webservers will execute cgi scripts in any directory if the name ends with .cgi, this precaution is necessary to prevent a hacker from uploading a destructive cgi script and executing it.  Remember, whenever you add or remove fields, you need to check the field list for the user search page and the search results table on the "Customize Pages" screen.
 

When you have defined your upload field, you will notice that any screen that is used for adding records now has a "browse" button next to that field.
Simply click the browse button and select your file, and it will be uploaded when you add the record.  Then, when the user searches the database, if the file is an image, the image will be displayed.  If the file is of any other type, the file's name will appear as a link to view the file.  How the file is viewed is up to the user's browser settings for that file extension.

How it works:
The files are stored in the 'uploads' directory using the following naming structure:  [recordID]_[fieldname]_[filename].[ext].
The URL to the file is stored in the field.  This can be clearly seen when searching as admin, and the URL can be manually adjusted
in the maintenance screen if necessary.

During searching, if the URL ends with .gif or .jpg, the program will simply display the image.  If the URL ends with anything else, and
the field is defined as an upload field, the program will display only the last part ([filename].[ext]) as a link to the entire URL.


Adding Members

You can create members of your database.  These people will each have their own password, and they will be able to add records, and to delete and modify only the records that they have added.
On the main administration page, accessed from [dbname]_admin.html, there is a button called "members."  Click this button to enter a screen with a list of existing members in the top half, and two boxes for creating a new member and password in the bottom half.  To remove a member, select the member in the top half and click the 'delete' button.  If a member forgets his/her password, delete the member, then create the account again, being careful to type the username exactly the same way.

Members can go to the [dbname]_members.html page to gain access to their records.

NOTE: Both the administration pages and the member pages use cookies to avoid prompting for a password more than once.  The cookies will expire each time you exit your browser.  If you are logged in as an administrator, and you wish to test the member pages, you will need to log in from the [dbname]_members.html page  to see the effects.  Members that share a terminal should be warned to exit the browser when they are finished.

If you check "allow instant members" in the admin preferences, first time users can come to the [dbname]_instantmember.html page, choose a username and password, and then begin adding items to the database.  They may return to the [dbname]_members.html page later and log in to add, modify, or delete their own listings, but they cannot effect anyone else's information.


Adding pictures and links

If you would like to upload pictures and other files from your web browser, see "uploading images".

The search results are displayed inside an HTML table.  All HTML commands will work inside the table with the exception of SSI .  You can display a word in bold by simply typing <B>my text</B>.

Now in version 2.25, a field that contains only a URL will automatically be converted to an <A HREF> link when the user search is displayed.
A field that contains only an e-mail address will will be converted to a mailto: link.
A field that contains only a string of text ending with .gif or .jpg will automatically be converted to an <IMG> tag.

To add a picture, you may use either an absolute URL (begins with http://) or a filepath relative to the cgi script.  So, for example, if my website looked like this:

                   myaccount (at http://www.myaccount.com)
                  /         \
              htdocs         cgi-bin
             /   \                |
       images   webdata     webdata_[dbname].cgi
         |
      duck.gif
      swan.gif
      goose.gif

I could enter the image either of these 2 ways.
http://www.myaccount.com/images/duck.gif
or
../htdocs/images/duck.gif

NOTE: You may still enter an <IMG> tag manually if you would like to add special parameters such as "width=72" or "border=2".
 


Using Templates

There are three template boxes on the Customize Pages screen, one for the intitial search results, one for the form generated with the 'view' button is clicked, and one for the
"maintenance" screen which members use when modifying their record(s).

Creating a template for the list of search results:
If you don't like the table format which is Webdata's default, you can design your own layout for each found record.  Let's say that the user searches for Ford Explorer, and we have 3 of them.  I want the user to see a pattern that I design, like this:
 
Make: Ford Model: Explorer Year: 1997
Extras:  PL PW PS ABS CRUISE TILT CD Price: $17285

 
Make: Ford Model: Explorer Year: 1995
Extras:   Price: $12000

 
Make: Ford Model: Explorer Year: 1999
Extras:  FULLY LOADED Price: $24992

I want to see three of these data blocks, because 3 cars came up when we searched for Ford Explorer.  Here's what I would do:
1. Use any HTML editor or word processor to make a page that looks just the way I want using sample data.
2. Go through the HTML code I just created with a word processor, and make the following substitutions:

I locate the word "Ford" or whatever the first piece of text is that will be replaced by data from the database.
I look on the conversion chart above the 'search template' box, you will see the word $data[#] next to every field in our database, with a
different number in each one.  If 'MAKE" is the first field, the substitution code for it will be $data[0].  Simply take out the word "Ford" or whatever
we used for sample data, and insert the text: $data[0] .  That's all there is to it.  In our example, wherever the template sees the word $data[0] it will insert the Make of the vehicle it is displaying.  Likewise, if Price is the fifth field, I would look it up on the conversion chart and see that it corresponds to "$data[4]".  Therefore,
wherever I type $data[4] in the template, the price of the current vehicle will be displayed.

Finally, there is the view button.  First, you will see a box on the 'customize pages' screen where I may enter the label of the 'view' button.  I would type 'Click here for details' into that box.  Then, where I want the button (and the form tags around it) to go, I would enter the word $viewbutton.  The template will automatically replace the word $viewbutton with the tags: <FORM><INPUT TYPE=BUTTON VALUE="(what you chose)" onClick="(script to get the form)"></FORM>.

In our example, the text I paste into the search template box on the 'customize pages' screen might look like this:
<TABLE BGCOLOR="lightblue">
<TR>
      <TD><B>Make:</B> $data[0] </TD>
      <TD><B>Model:</B> $data[1] </TD>
      <TD BGCOLOR="beige"><B>Year: </B> $data[2]</TD>
</TR>
<TR>
      <TD BGCOLOR="beige" COLSPAN=2><B>Extras:</B> $data[3]  </TD>
      <TD><B>Price:</B> $$data[4] <./TD>
</TR>
<TR>
      <TD BGCOLOR="pink" COLSPAN=3 ALIGN="center"> $viewbutton </TD>
</TR>
</TABLE>
 

3. Repeat the procedure if you would like to use your own template when the user clicks the 'view' button instead of the default columnar form.  Simply design your form with sample data, substitute the sample data with $data[#] using the conversion chart, then paste the text into the "form template" box.

Other variables:
Type the word $viewbutton to place the view button in the search results. Type $id to include the record ID number. Type $datecreated to include the date the record was added to the database. Type $membername to display the record's owner. If you are creating a link to another cgi script, use $escape[#] instead of $data[#]. This will automatically convert "three, at $2.25/each" into "three%2C%20at%20%242.25%2Feach", which is the format cgi scripts expect in the URL. If you use the shopping cart, type $addbutton where the "Add to cart" button should go.

Conditional Display: The following syntax:
  $if ($data[#]) {my text}
will only display "my text" if there is a value in the $data[#] field. If $data[#] is empty, nothing will be displayed.


Technical Notes

8 Files are created by the installer. INSTRUCTIONS FOR EXECUTING PERL CGI SCRIPTS ON A MICROSOFT IIS WEB SERVER
IIS Web servers need to be configured to execute perl when a .pl file is called in the cgi-bin.  There is an excellent document on this configuration at:

  http://www.dynamicnet.net/support/fp/perlwithPWS.htm
   Thanks to Dynamic Net for providing these instructions.
 

Instructions for beta testing the ODBC routine
The ODBC routine is commented out because we could not identify the cause of some connection failures during testing.  If you would like to
try it, you are welcome to, but please do not complain to us if it doesn't work.  You must have the Win32::ODBC module to use this routine.

LOCATE the following lines and remove the # from the beginning of each line (except the first and last):
#*********** BEGIN ODBC ********************
#print "
#<P><HR><P>
#<B>Use an ODBC Database instead of Webdata's datafile.</B>
#<INPUT TYPE=CHECKBOX NAME=\"usesql\"";
#print " CHECKED" if $usesql==1;
#print "><BR>
#<I>You must have the Win32::ODBC module to use this option.</I><BR>
#<B>DSN Name</B> <INPUT TYPE=TEXT SIZE=20 NAME=\"dsn\" VALUE=\"$dsn\"><BR>
#<B>Table Name</B> <INPUT TYPE=TEXT SIZE=20 NAME=\"tablename\" VALUE=\"$tablename\"><BR>
#<B>Primary Key</B> <SELECT NAME=\"primarykey\">\n";
#$count=0;
#foreach (@fields) {
#  print "<OPTION VALUE=\"$count\"";
#  print " SELECTED" if $count eq $primarykey;
#  $count++;
#  print ">$_";
#}
#print "\n</SELECT>
#";
#************ END ODBC **********************

Then, you should be able to define a DSN in your ODBC control panel, and enter the DSN name and table name in the appropriate boxes on the 'customize pages' screen.  Modify your Webdata fields to match the fields in your ODBC table exactly.  Case counts.
 

Running Multiple Databases

Your license allows you to have more than one database on a single site.  You may, for example, have a list of products, a list of employee contact info, and a list of scheduled events at no extra charge.  You may not use this privilage to share the database among more than one site.  In particular, Web developers and ISPs must register one copy of the database for each client that uses Webteacher's Webdata.

You should install all of your databases such that the webdata_[dbname].pl scripts are in the same directory.  On most servers they would all go in the cgi-bin anyway.
Register the first database you install, once you are satisfied that Webteacher's Webdata will meet your needs.  Then, in each additional database, LOG IN TO THE NEW, UNREGISTERED DATABASE, click on
"Customize Pages", and scroll down to the bottom of the page.  Enter the full filename of the "webdata_[dbname].pl" file which has already been registered, and the new database will become registered as well.
 

Problems with Registration Code

First, be sure to copy/paste the code so that there is no
risk of mistaking "L"'s for "Ones" etc. Also, sometimes the registration
code ends with a period, so be sure to grab that too.

If it still doesn't work, you may be using a system which uses the
MD5 encryption algorythm, which is not compatible with the Unix
crypt() function that Webdata's registration code uses.

HOW TO TELL
1. Log in as admin and create at least one member.
2. Turn on "warn me before accepting a cookie" in your browser's preferences.
3. Log in as a member from the [dbname]_members.html page.

The cookie will have this format:
admin=[username]::[encrypt password]

If the encrypt password is roughly 13 characters and begins with
a "7", for example: "77IhY3bdfNq9g", this section does not describe your problem, and you should
triple check the registration code and then contact sales@webteacher.com.

If the encrypt password is MUCH longer, and begins with a dollar sign,
for example "$1$KV@_YyJO$6aio6.dXILWoXYEltbDGa0", then your operating
system is using the MD5 encryption algorythm. The fix is
to upload the UnixCrypt.pm Perl module to the cgi-bin, or wherever the webdata_[database name].pl file lives. The module has been included in the zip file.

UnixCrypt.pm

Then, insert these lines on line 2 of the webdata_[dbname].pl script.

# always use this module's crypt
BEGIN { $UnixCrypt::OVERRIDE_BUILTIN = 1 }
use UnixCrypt;
 
 

Logging user searches

If you want to create a log of what criteria people are using to search your database, do the following.
1. Create an empty file named "searches.log" in the cgi-bin, or wherever the webdata_[dbname].pl script lives.

2. Use chmod 666 to make sure the script has permission to write to that file.

2. Log in as admin, click "customize pages" and scroll down to the box labeled "Keep a log of user searches".

3. Enter      searches.log      into the box, and click "modify pages".
 
 

Advanced Searches

Returning only the number of records in the database

Many people asked for this feature in order to embed the size of the database on their homepage.  For example,
if you want to display the text  "Search our database of 1751 job listings!" on your homepage, you could do it by
embedding an SSI tag to execute your script URL followed by "?cgifunction=recordcount".

The HTML code on your homepage would look like this (replace "jobs" with your database name):

<B>Search our database of <!--#exec cgi="/cgi-bin/webdata_jobs.pl?cgifunction=recordcount"--> job listings!</B>

Of course your homepage has to have SSI enabled, sometimes the page has to have a .shtml extension.  Check with your system administrator.
 
 

Shopping Cart

An integrated shopping cart is available for Webdata from http://www.webteacher.com/epowercart The ePOWERcart module will add an "add to cart" button to every found record, along with a quantity box, and checkout options. Like Webdata, the ePOWERcart module can be installed and configured with no programming. The cart can calculate UPS or Fedex shipping costs, and integrate with 5 major credit card processing services.
 

Importing Data

To import from a delimited text file: Log in as admin and click "Import data".  If the file is very large, use your FTP program (in ASCII mode) to upload
the delimited text file to the cgi-bin. Then enter the filename into the first box on the screen.  If the file is a more reasonable size, simply click the
"browse" button and select the file.  You may choose either comma, tab, or pipe delimited.  Carriage returns in the text file indicate the end of a record.
If your source database contained carriage returns in a field, try using a word processor to convert them to <BR> tags.

Imported records will be owned by: This list contains the word "admin" followed by every member in the database.  Members can only modify or
delete records which they own.  Therefore, if you need Bob Smith to be able to modify the records you are about to import, choose "Bob Smith" from
the list of members (or go to the admin page, click members, create a membership for Bob Smith, and then return to the import page).

Overwrite existing data with imported records:
If the head office sends you a complete database every week, you can check this box to delete all of the old records just as you import the new records.
If this box is unchecked, the imported records will be APPENDED to the existing data, and the old records will remain in place.

Replace fields with values contained in first line:
This is a nice timesaver if you wish create a new database using a delimited text file.  When this box is checked, Webdata will
create a field (text box, 20 characters) for every item in the first row of the delimited text file.  If a fieldname already exists,
already exists, it will be sequenced according to the delimited text file, and its attributes (text box, checkbox, comment, list, upload) will
be preserved.  Any other fields in Webdata will be removed.

It is recommended that this feature only be used with "overwrite existing data" unless you are very sure of what you are doing.  Old records
could become mislabeled after the field list is resequenced by this feature.

Create members and passwords:
Occassionally you may wish to put an existing list of users online quickly.  In that case, you need to determine a column number in your
delimited text file which will contain the username, and a column number which will contain the password.  Then, enter the column numbers
for each in the boxes contained in this section, and webdata will create a membership for each person as it imports. Each record will be
"owned" by the specified username.

For example, let's say I had the following data in Excel or Lotus123:
 
 
A B C
1 Bob Schmidt bob@domain.com  555-4332
2 Chris Darson cd@domain.com 555-9887
3 Brenda Clark bclark@domain.com 555-3599

I want to use the e-mail address as the username, but
I need a password for everyone. So I make up a clever algorythm, such as
"second letter of last name followed by 'rpz' followed by twice the last 3 digits of the phone number"
Using the text functions and fill handle, I soon have a password in column D like this:
 
A B C D
1 Bob Schmidt bob@domain.com  555-4332 crpz664
2 Chris Darson cd@domain.com 555-9887 arpz1774
3 Brenda Clark bclark@domain.com 555-3599 lrpz1198

Now, I can save this file as a tab delimited text file and import it into Webdata.
I would enter a "2" into the "username column" box, and a "4" into the "password column" box.

Now I can issue a memo to Bob Schmidt as follows:
"An account has been created for you on our new online database.
Your username is: bob@domain.com
Your password is: crpz664
You may go to [URL of members page] to review or modify your contact information."